home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xanim2700 / README < prev    next >
Text File  |  1995-07-31  |  12KB  |  290 lines

  1.  
  2.  
  3.        <<<< WARNING, THIS IS AN EXPERIMENTAL RELEASE >>>>
  4.  
  5.       IF YOU HAVE TROUBLES WITH THIS RELEASE AND YOU DON'T
  6.       HAVE THE TIME TO DEBUG IT, YOU'LL PROBABLY WANT TO
  7.       BACK OFF TO REV 2.69.7.8*.
  8.  
  9. This release contains experimental code that forks off a new process
  10. in order to handle the audio stream. It uses pipe(), fork() and
  11. select() to create this process and setup communication between
  12. the parent video process and the child audio process. I'm working
  13. on eliminating the need for select().
  14.  
  15. Having a separate audio process will prevent cpu intensive video
  16. codecs(like jpeg and mpeg) from causing starvation of audio device(this
  17. definitely did occur with the prior revs under heavy loads). It
  18. also prevents audio device blocking from affecting video.
  19.  
  20. WARNING: It's possible that the child process will live on if the
  21. parent process core dumps. In this release I've implemented some
  22. BOFL(breath of life) from parent to child, so if parent dies, the
  23. child should die within 5 to 10 seconds, so I'm 99% certain the child
  24. won't survive for very long.  But if not, you should be
  25. familiar with "ps" and "kill" in order to find and terminate the
  26. child and thereby free up the audio device.
  27.  
  28. It has been compiled and tested on a Sparc 10 running SunOS 4.1.3 and X11R5.
  29.  
  30. I am very interested in hearing about how this ports to other machines
  31. and what needed to be done, if anything. I'm also interested in how
  32. well the video/audio stays in sync, etc.
  33.  
  34. I try to answer all email, but not all messages have correct return
  35. addresses. Also, please mention which Rev of XAnim and what machine
  36. you have for bug reports, etc.
  37.  
  38. Thanks,
  39.  
  40. Mark
  41. ---
  42. podlipec@wellfleet.com
  43. podlipec@baynetworks.com
  44. podlipec@shell.portal.com
  45.  
  46.  
  47. NOTE: see compile.help for compiling information.
  48.  
  49.  
  50. --------------------------------------------------------------
  51. What's Supported
  52. --------------------------------------------------------------
  53.  
  54.  XAnim supports the following AVI/Quicktime Audio Codecs:
  55.  
  56.      AVI 8 and 16 bit RAW(PCM) mono/stereo.
  57.      AVI ADPCM is supported(mono only for now).
  58.      Quicktime 8 and 16 bit RAW(PCM) mono/stereo.
  59.      Quicktime 8 and 16 bit TWOS(signed PCM) mono/stereo.
  60.      Quicktime MAC6 is *NOT* supported.
  61.  
  62.  XAnim supports audio on the following machines:
  63.  
  64.         Sun Sparcs
  65.         NEC EWS workstations
  66.     Sony NEWS 5000 series workstations
  67.         SGI Indigo
  68.         PC  with soundcards running unix/linux/QNX
  69.         Any machine running AudioFile(AF)
  70.         Any machine(or Xterminal) running Net Audio (NAS)
  71.         HP 9000/715 - sort of working - still has problems.
  72.     IBM AIX S6000 machines with audio.
  73.     DEC Alpha workstations running Multimedia Services
  74.  
  75. --------------------------------------------------------------
  76. Generic Bug's
  77. --------------------------------------------------------------
  78.   + Remote Control Window colors not selectable.
  79.   + HP support pseudo functional. Still needs a lot of work.
  80.   + The NAS xanim audio code is new and has problems when you stop/restart
  81.     it(echoing). I'm going to look into debugging it before backing it out.
  82.  
  83.  
  84. --------------------------------------------------------------
  85. New(or Fixes) to 2.70.0
  86. --------------------------------------------------------------
  87.   + Makefile partitioned a litte better and hopefully makes
  88.     configuration easier.
  89.   + WAV and AU audio only files now work(by creating fake anim).
  90.   + Added Sun AU audio file support
  91.   + QT: greyscale colormap fix with +CF4 option.
  92.   + AUDIO: DEC Multimedia Services added by Tom Morris.
  93.   + AUDIO: NetBSD audio support by Roland C Dowdeswell.
  94.   + AUDIO: Sony audio patch for SVR4/NEWS-OS 6.x by Takashi Hagiwara
  95.   + Acorn Replay Movie support.
  96.   + Parallax Motion JPEG with ULAW audio support.
  97.   + Keyboard commands now work in Remote Control window as well as
  98.     animation window.
  99.  
  100.  
  101.  
  102. --------------------------------------------------------------
  103. New(or Fixes) to 2.69.7.8a
  104. --------------------------------------------------------------
  105.   + Radius Cinepak support removed by request from Radius(hopefully
  106.     temporary).
  107.  
  108. --------------------------------------------------------------
  109. New(or Fixes) to 2.69.7.8
  110. --------------------------------------------------------------
  111.   + fixed bad core dump bug in some audio section. overwriting 
  112.     a buffer.
  113.   + SGI: syncing problem fixed. Audio was block and preventing
  114.     video from be able to play at speed.
  115.   + A handful of minor bugs where fixed in the MPEG routines.
  116.     Two caused corruption and one prevented bottom part of
  117.     screen from being drawn with certain resolutions.
  118.   + MPG:  wasn't properly flushing bits after a new quant scale
  119.   + MPG:  if height > bug, was truncating bottom of image.
  120.   + MPG:  spurious warning messages(DCT-A and DCT-B err) removed.
  121.   + AVI:  RGB depth 24 support added.
  122.   + AVI: XMPG support added. This is the Editable MPEG Video
  123.     Codec and if the spec matches the sample I have, it's
  124.     a Kludge. The AVI Headers DON'T match(as in resolution and
  125.     proper audio/video timing) the MPEG SEQ header which looks
  126.     to have the correct info.
  127.   + AVI: support for "pads" streams(or rather tolerance for). 
  128.   + AUDIO: HP RAW audio device support to bypass upper lever HP 
  129.     audio server routines.
  130.   + QT: minor bug in Gray Colormap generation. 
  131.   + DL: animation format thrown back in and now allows it to
  132.     be readable from the file.
  133.   + IFF: Anim8 support written by Garrick Meeker.
  134.   + Added Quiet flag(+q) to prevent XAnim title from being
  135.     printed out to tty. Useful when called in background by
  136.     another program.
  137.   + AUDIO: fixed bug where anims without audio prevent following
  138.     anims with audio from enabling that audio.
  139.   + AUDIO: Fixed scaling bug in ADPCM audio code. Affected main 8khz 
  140.     machines.
  141.   + Fixed compile bug when compiling without Remote Control Window.
  142.   + cleaning and simplifying internal structures. reducing global
  143.     variables, etc.
  144.   
  145.  
  146. --------------------------------------------------------------
  147. Configuring For Your Machine
  148. --------------------------------------------------------------
  149.  
  150.   You'll need to edit the Makefile or the Imakefile. Go to the Audio 
  151.   section and uncomment out the DEFINE's associated with your machine
  152.   type. Make sure no other machine's DEFINE's are uncommented. That 
  153.   would be bad. 
  154.  
  155.  
  156. NOTE: Below needs to be updated for various machines and is
  157. definitely incomplete, but may also be out-of-date.
  158.  
  159. --------------------------------------------------------------
  160. Sun Sparc Specific Info
  161. --------------------------------------------------------------
  162.  
  163.   IF YOUR ARE USING OPENWINDOWS THEN YOU MUST USE Makefile.unx
  164.   AND YOU MUST EDIT THE CHANGES REQUIRED. This is because of
  165.   bugs/deficiencies with the OpenWindows Athena libraries.
  166.   See top of Makefile.unx for more details.
  167.  
  168.   Having some problems with gcc, because it wants to use it's
  169.   own include files and they're usually wrong(or out of date).
  170.   Use cc if this happens.
  171.  
  172.   If you are using Solaris, use the -DSOLARIS define in the Makefile.
  173.  
  174. --------------------------------------------------------------
  175. Linux(soundcard) Specific Info
  176. --------------------------------------------------------------
  177.  
  178.   Compiles and runs on 8 bit and 16 bit sound cards(sound driver 2.5 and 2.99).
  179.   Some video/audio syncing problem with driver 2.5 that got better with 2.99.
  180.  
  181. --------------------------------------------------------------
  182. SGI Specific Info
  183. --------------------------------------------------------------
  184.  
  185.   NEWSFLASH. The audio stuff should be included now in Irix 5.3. You
  186.   might be able to obtain them for free if you have the Irix 5.1 or
  187.   Irix 5.2 releases, but that's just a rumor.
  188.  
  189.   If you have Irix 5.1 or greater then make sure you have installed 
  190.   the digital media development subsystem (dmedia_dev.sw.audio) off
  191.   of the CD-ROM.  
  192.  
  193.   If this isn't on your CD_ROM then read on...
  194.  
  195.   "according to the 5.2 readme first page, it says
  196.    that the Audio Development software has been moved from
  197.    the IDO to a purchasable option, IRIS media libraries. "
  198.  
  199.   And you either have to contact SGI and buy it($495) OR
  200.  
  201.   In the meantime, you can compile XAnim on an Irix 4.0.5 machine
  202.   and the XAnim binary should work back on the original Irix 5.1
  203.   or 5.2 machine. 
  204.  
  205.   Once XAnim audio is stablized on SGI's, I should be able to provide
  206.   an xanim executable.  NOTE: I don't have nor can I legally distribute
  207.   the SGI audio libraries and include files.
  208.  
  209. --------------------------------------------------------------
  210. HP Specific Info
  211. --------------------------------------------------------------
  212.  
  213.   Written and getting better, but still has a ways to go.
  214.  
  215.   With HP's you need to start up the system Audio Server before
  216.   you can use ANY audio program. Here's how(from the Audio.man
  217.   page on an HP 700/915):
  218.  
  219.            Step 1.   Start the NCS Local Location Broker Daemon.
  220.                      Task 1.   If you are not already superuser, log in as
  221.                                superuser.
  222.                      Task 2.   Enter the command line /usr/etc/ncs/llbd&&&&.
  223.                                To make llbd start automatically at boot
  224.                                time, edit the file /etc/netncsrc and change
  225.                                the line START_LLBD=0 to START_LLBD=1.
  226.            Step 2.   Reboot.
  227.            Step 3.   Set the AUDIO environment variable to specify the node
  228.                      where the audio client should look for the audio
  229.                      server.  If AUDIO is not set or if it is set to :0, the
  230.                      client connects with a server on the same node.
  231.  
  232.                      To specify that the client should connect to a server
  233.                      on another node, set
  234.  
  235.                           AUDIO = node_name: (Korn, Bourne, and POSIX
  236.                           shells)
  237.                           export AUDIO
  238.  
  239.                      or
  240.  
  241.                           setenv AUDIO node_name: (C shell)
  242.  
  243.            Step 4.   Normally, the audio server starts whenever the system
  244.                      is booted.  Check for the existence of the Aserver
  245.                      processes by typing
  246.  
  247.                      ps -e | grep Aserver
  248.  
  249.            You should see two Aserver processes.  If the server is not
  250.            running, start the audio server by hand by typing
  251.  
  252.                 /usr/audio/bin/Aserver
  253.  
  254.            Then type
  255.  
  256.                 ps -e | grep Aserver
  257.  
  258.            and check that there are two active server processes.
  259.  
  260. --------------------------------------------------------------
  261. IBM RS6000  Specific Info
  262. --------------------------------------------------------------
  263.  
  264.   Waiting for feedback on how it works.
  265.  
  266. --------------------------------------------------------------
  267. AudioFile (AF) Specific Info
  268. --------------------------------------------------------------
  269.  
  270.   I haven't brought up AF yet on my machine, but have gotten
  271.   reports that it works okay.
  272.  
  273. --------------------------------------------------------------
  274. Net Audio (NAS) Specific Info
  275. --------------------------------------------------------------
  276.  
  277.   I have brought NAS up on my machine and have fine tuned it. NAS
  278.   has some deficiencies that make it difficult to keep audio/video
  279.   in sync. Hopefully they'll improve it and likewise I'll improve 
  280.   my understanding of it and work from there.
  281.  
  282. --------------------------------------------------------------
  283. Any comments, questions, bugs, fixes, etc  email me at 
  284. podlipec@wellfleet.com or podlipec@shell.portal.com
  285.  
  286. If you make changes to the audio code, please send entire 
  287. xanim_audio.c file unless the patches are minor.
  288.  
  289. --------------------------------------------------------------
  290.